home *** CD-ROM | disk | FTP | other *** search
- Path: gatekeeper.liffe.com!usenet
- From: ralph.mason@liffe.com (Ralph Mason)
- Newsgroups: comp.sys.cbm,comp.os.misc,alt.comp.hardware.homebuilt,comp.sys.apple2,comp.sys.apple2.programmer,comp.sys.atari.8bit
- Subject: Re: 6502 Multitasking OS announce
- Date: Fri, 22 Mar 1996 08:50:29 GMT
- Organization: London International Financial Futures Exchange
- Message-ID: <4itq1h$cm4@gatekeeper.liffe.com>
- References: <4i94fs$stj@narses.hrz.tu-chemnitz.de> <holger.948.00030EE6@deep.hb.provi.de> <4ijtbe$7ca@no-names.nerdc.ufl.edu> <4ijuic$iiq@gatekeeper.liffe.com> <4innc7$hc4@no-names.nerdc.ufl.edu> <4itkri$qlc@seagoon.newcastle.edu.au>
- Reply-To: ralph.mason@liffe.com
- NNTP-Posting-Host: ralph_pc.liffe.com
- X-Newsreader: Forte Free Agent 1.0.82
-
- "Bruce R. McFarling" <ecbm@cc.newcastle.edu.au> wrote:
-
-
- > Disadavantage: in addition to the registers, the location
- >providing the stack address would have to be saved and restored in a task
- >switch. The accessing is 3 to 5 clocks slower than PHA PLA, depending on
- >whether a page address boundary is crossed. And the ability to
- >independently point at two stack entries is lost.
-
- Another one I think you forgot to mention is just how hard it would be
- to make and return from function calls.
-
- You also seem to lose a register & considering you only have three I
- don't think it's that workable for use in a multitasking OS.
-
- The MMU and switching out the zero page and stack would seem to be the
- cleanest and best solution. It also makes the context switch VERY
- easy. In the interrupt handler all you do is the normal style of 6502
- interrupt code pushing all registers on the stack. swap the pages in
- the mmu, pop all the registers back ( standard 6502 int exit ) and do
- a iret - job done.
-
- -Ralph
-
-
-